package com.yun.newBlog.blog.service;

import com.github.pagehelper.Page;
import com.github.pagehelper.PageInfo;
import com.yun.newBlog.blog.domain.entity.Blog;
import com.yun.newBlog.blog.domain.entity.Comment;
import com.yun.newBlog.blog.vo.BlogPageQueryOutVO;
import com.yun.newBlog.blog.vo.BlogQueryVo;
import com.yun.newBlog.blog.vo.BlogVO;
import com.yun.newBlog.blog.vo.TagVO;

import java.util.List;
import java.util.Set;

/**
 * 博客interface
 */
public interface IBlogService extends MapperInterface{

    Page<BlogPageQueryOutVO> queryForPage(BlogQueryVo queryVo);

    /**
     * 博客列表查询
     * @param queryVo
     * @return
     */
    List<BlogPageQueryOutVO> queryBlogList(BlogQueryVo queryVo);

    /**
     * 获取标签列表
     * @return
     */
    List<TagVO> getTagList();

    /**
     * 博客列表模糊查询
     * @param queryVo
     * @return
     */
    List<BlogPageQueryOutVO> queryBlogListByLike(BlogQueryVo queryVo);

    /**
     * 博客单条查询
     * @param id
     * @return
     */
    BlogVO queryBlog(Integer id);

    /**
     * 博客保存
     * @param blog
     */
    void save(Blog blog);

    /**
     * 保存博客评论
     * @param comment
     */
    void addBlogComment(Comment comment);
}
